package com.soft2018;

//创建怪物类
public class Monster {

    // 怪物名 字段名 小写
    private String m_name;

    // 起名，对数据赋值，赋值方法
    public void setM_name(String name){
        this.m_name = name;
    }

    // 取值方法
    public String getM_name() {
        return m_name;
    }

    // 血量
    private int m_hp;

    // 取值器
    public void setM_hp(int m_hp) {
        this.m_hp = m_hp;
    }

    // 赋值器
    public int getM_hp() {
        return m_hp;
    }

    // 攻击力
    private int m_ap;

    public void setM_ap(int m_ap) {
        this.m_ap = m_ap;
    }

    public int getM_ap() {
        return m_ap;
    }

    //构造函数，用来初始化类对象
    public Monster(){
        super();
    }
    //带参数构造函数，也是用来初始化类对象
    public Monster(String name,int hp,int ap)
    {
        super();
        this.m_name = name;
        this.m_ap = ap;
        this.m_hp = hp;
    }

    //TODO:书写一个 print 函数，打印当前对象的状态信息
    public void print(){
        System.out.println("怪物："+this.m_name+"当前血量："+this.m_hp+",当前攻击力:"+this.m_ap);
    }

    // 怪物掉血的方法, 参数是攻击者的攻击力
    public void dropHp(int attack)
    {
        this.m_hp -= attack;
    }

    public void attPlayer(Player p)
    {
        p.dropHp(this.m_ap);

        System.out.println(this.m_name+"还手了，使出绝招，"+p.getName() + "，玩家掉了"+this.m_ap+"血");
    }
}
